﻿using System;
using System.Collections.Generic;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

[LoadInSeparateAppDomainAttribute]
public abstract class AppDomainIsolatedTaskWraper : AppDomainIsolatedTask
{
	protected readonly List<ITaskItem> IncludeFileInBuild = new List<ITaskItem>();
	protected readonly List<ITaskItem> ReferenceFileInBuild = new List<ITaskItem>();

	[Output]
	public ITaskItem[] Include
	{
		get { return IncludeFileInBuild.ToArray(); }
	}

	[Output]
	public ITaskItem[] Reference
	{
		get { return ReferenceFileInBuild.ToArray(); }
	}

	public Action<string> LogMessage = delegate { };
}
